Version 1 - On/Off Control
The initial code ran on the Arduino for controlling the system utilized only binary control of the valve - either fully open or fully closed. It performed sufficiently for the initial test with one socket, already achieving our desired temperature variation. However, its constant movement meant it had poor lifespan performance. At this point, the decision was made to then utilize proportional control so that less valve movement would be needed, improving the life span of the proposed solution.
Version 2 - PID Control
The second iteration of the control code utilized a proportional-integral-derivative controller, implemented on the Arduino. However, the project ran into tuning issues and due to inexperience and time constraint, a third control scheme was eventually implemented.
Version 3 - Incremental Control
The final iteration of the control code utilized an incremental approach to regulating socket temperature. As the socket began to approach the desired temperature it would begin to close before fully closing at the set point. Once it strayed away from the desired, it would begin to open again. This process of gradually opening and closing was repeated throughout the test duration to keep the socket steady at the desired value.