Heater Control Plug-in User Guide

Heater Control Plug-in User Guide

 

Introduction

This plugin is developed to control the heater controller board that uses an I2C expander or SP pins to control the heating of the sensor on the headboard. User can use this plugin mainly to set the higher temperature and stay in that temperature for some time and do the necessary testing at the high temperature.

Plugin has mainly two controls to heat the sensor on the headboard

  • via “GPIO pins”

  • via “I2C expander”; newer method / default.

Plugin provides to two options to read back the temperature

  • via “Thermocouple”

  • via “Sensor Die temperature; best method / default.

Setup

Items required

  • AP70020: Demo Heater Control Board 

  • Power Adapter: 12V to 24V

  • Demo3 baseboard

  • Headboard & Demo3 cable

Setup Details

  • Install the new demo heater control board AP70020 between the headboard & Demo3.

  • Connect the red heater cable to either one of the white connectors on the demo heater control board, or on newer boards the 4-pin connector.

  • Plug either 12V or 24V supply into the controller board.

  • Connect the demo3 cable to baseboard.

Picture Of Setup

Different views of the setup are provided below, one view shows red heater cable connected to white connectors and other view shows the power cable is plug in to controller board.

This is a view of the most recent version with the red heater cable on one side and the power connector on the other.

Usage

After launching the DevX, from the Plug-ins, choose the Heater Control has shown in below picture.

Once selected the below UI will come up. The different controls and details are provided in below picture.

2025-09-16_151221.png

Heater Control Method

This is an overview of the method the software uses to control the heater. It isn’t as simple as just enabling the heater and then turning it off when it reaches the target temperature. That’s because the temperature continues to increase when the heater is turned off. And the heater ramps slower as the temperature increases, and it cools faster at high temperatures (100C) than at lower temperatures (60C).

  • When enabled, the heater is turned on to “Ramp up” to within 10C of target temperature.

    • Once at 10C of the target temperature, the heater is turned off to allow it to ramp.

    • If the Die temperature is already within 10C of target, then “Ramp up” is skipped and “Maintenance” is state entered.

  • Once the Die temperature is within 10C of target, turn off the heater and wait up to 20 seconds for the Die temperature to reach target temperature.

    • In either case, “Maintenance” state is entered.

  • In “Maintenance” state, the “Duty On” and “Duty Off” values are used to alternate between heater on/off to maintain the Die temperature at the target temperature.

    • If the Die temperature exceeds target temperature the heater is turned off and the counter-cycle isn’t restarted until the Die temperature is lower than target temperature.

A few notes about “Duty On / Off” setup and configuration. These will need to be empirically adjusted for each heater / sensor configuration and when the environment changes (e.g., ambient temperature).

  • The default values are set based on “Target Temp”. These usually need to be adjusted.

  • Each time you change the values you will need to reenable the heater.

  • At higher target temperatures, due to faster cooling increase the “Target Temp” by 1 to reduce temperature oscillation.

First Set of operations

As soon as the plug-in is launched, user must follow the below set of operations

  1. Set the desired “Target Temp”. Range is 0 to 134C.

    1. Keep the default values for “Duty On” and “Duty Off” for now.

    2. Defaults for On / Off are:

      1. <= 50C: 1/20

      2. <= 60C: 1/15

      3. <= 70C: 1/20

      4. <= 80C: 2/8

      5. <= 90C: 2/4

      6. <= 100C: 3/2

      7. <= 110C: 5/1

      8. = 134C: 10/1

    3. Range is 1 to 30. Note: heater will be disabled when either On or Off are changed.

  2. In Heater Control, either choose

    1. GPIO (the provide 5 in GPIO option)

    2. I2C (default)

  3. Temperature Feedback, either choose

    1. Thermocouple or

    2. Sensor Die Temperature (default and recommended).

  4. Select “Enable Heater” to start the process.

  5. Monitor the value of “Die Temp”. Once it approaches “Target Temp” then “maintenance” state is entered. At this point, you may need to adjust “Duty On” and/or “Duty Off” to tune the method to keep the Die Temperate with +/- 1C of target.

  6. The “Output window” will display the current state of the heating method and other information. This is only for reference and can be ignored for the most part.

Saving and Reading Duty Cycle Values

The “Save Duty File” and “Read Duty File” buttons enable saving Duty Cycle values that have been updated from the defaults and loading them later. The “Show Duty Values” button will display the current values.

The file contains the Target Temperature and On / Off Duty values as shown in the “First Set of Operations” section. Note that the Target Temperature values are the defaults and are saved as such even when set to a different value in the Plugin.

In most cases the file is left as-is, but it can be modified manually if different Target Temperature values are desired. These rules must be followed for manual modification.

  • The file is expected to have been created by the "Save Duty File" button. It has a specific format and set number of entries. Use it as the starting point.

  • The Target Temperature values can only be changed via an edited Duty File.

  • The file must have the same set of lines as the originally saved version.

  • The Target Temperature values must be in ascending order.

STATE Command Support

Plugin-specific STATE commands are available. These STATE commands are not embedded in DevWareX, but instead are created when the plugin runs.

Besides “HC TargetTemp “, the STATE commands are only processed when the heater is disabled and the STATE command “HC HeaterEnable” to enable heating is set to 1, and the plugin is visible.

Here are the STATE commands and their values. Range checking is performed the same as with the GUI. Any errors are displayed in the Output Window.

HC TargetTemp: integer. “Target Temp” field in GUI.

Note: can be issued when Heater is On or Off.

HC DutyFile: string. File name supplied and processed with “Read Duty File” button in GUI.

Note: the file is local to the INI file location.

HC DutyOn: integer. “Duty On” field in GUI.

Note: applies to the range of the current “Target Temp” value.

HC DutyOff: integer. “Duty Off” field in GUI.

Note: applies to the range of the current “Target Temp” value.

HC HeaterEnable: integer (0 to disable, 1 to enable). “Enable Heater” checkbox in GUI.

Example INI File

Use the first line “setoption” to ensure the plugin is visible.

All STATE commands are optional, but “HC HeaterEnable, 1” must be included for STATE command processing to be performed.

python = devware.setoption_str("Plugin Show", "Heater Control")

STATE = HC TargetTemp, 70

STATE = HC DutyFile, dutyCycles2.txt

STATE = HC DutyOn, 1

STATE = HC DutyOff, 11

STATE = HC HeaterEnable, 1

The following INI file Python command can be used to retrieve the current STATE value:

python = print(apbase.getstate("HC TargetTemp"))