This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
defakto227's profile picture

Multi-Turbine and Reactor PID Controller - In Development

Started by defakto227, 17 January 2016 - 10:16 PM
defakto227 #1
Posted 17 January 2016 - 11:16 PM
Currently in development as a personal project to hone my skills in control theory and pick up Lua because…why not…

Primary Objectives:
  • PID control for a central reactor feeding multiple turbines
  • Reactor PID control to minimize heat but keep individual turbines fed as needed
  • Turbine PID control based off non-linear function
  • Easy configuration to handle multiple turbines via modems
  • Auto-Tune feature per turbine
  • Auto-Tune feature per reactor (to account for different designs people may use or multiple reactors)

Secondary objectives:
  • Screen Output of current system state
  • Useful Interactive GUI
Tertiary Objectives:
  • High Speed Turbine Control 2700 rpm and beyond (Use at your own risk! The future might go boom!)
Planned Features:
  • Independent PID control per Turbine at Optimal RPM points (900, 1800, etc)
  • Independent PID control for the reactor Steam output
  • Full Auto-Tune Sequence for turbine operating speeds
  • Non-Linear PID function (See Google docs spreadsheet for power output functions)
  • Alternate Linear PID function
  • Manual configuration of PID parameters with non-linear configuration available
  • Multiple warnings depending on PID parameters and reactor requirements( Example: Unable to Reach Required RPM,
  • Emergency Shut down sequence
  • Powered Spin Up Sequence
  • Fast Spin up Sequence
  • Passive Reactor Control based on rf/tick output


Reference Documentation:

All code based off the knowledge base of http://controlguru.com/

Performance data for fine tuning based off reactor data collection:
https://docs.google.com/spreadsheets/d/1HoxhLvBzhQHx5U7ZM1A7nMbmcYesyZ4QKT8c_57qy1g/edit#gid=434245554
Lyqyd #2
Posted 17 January 2016 - 11:25 PM
No code to show, locked. Please report your topic when you have code to post and we'll unlock it for you.